Stepper motors have significant advantages for systems which require low cost motion control with precise mechanical placement. One disadvantage to using stepper motors in control applications is their characteristic resonance generated by overshoot and recovery due to step size and positional velocity. A common method for overcoming this problem is to "microstep" the motor. Microstepping reduces resonance by decreasing the distance traveled by the rotor between each step. A negative aspect of microstepping is the increased overhead associated with generating pulse trains from the system control circuit to the microstepping controller. Various techniques have been developed for microstepping the stepper motors. For example, U.S. Pat. No. 4,446,412 to Friedman et al. discloses a method and apparatus for damping the natural resonance of a stepper motor by microstepping such that the command currents for driving the stepper motor are developed from a velocity feedback signal which is derived from a tachometer and a digital position signal from a step rate generator. Friedman et al. also provides command currents for driving a stepper motor which are developed from a digitally processed velocity error signal and a digital feed forward acceleration signal. However, while addressing the problem of resonance experienced by the stepper motors, like other known methods, Friedman et al. does so at the expense of large overhead associated with generating pulse trains from the system control circuit to the microstepping controller.
On the other hand, U.S. Pat. No. 4,929,879 to Wright et al., discloses a method for micro-stepping a unipolar stepping motor by utilizing a look-up table containing stored values of SINE and COSINE of given angles. In particular, after present position and desired position of a stepper motor are computed, a certain number of micro-steps (e.g. 4, 8, 16, or 32) per motor step are chosen depending on the position accuracy one wishes to achieve. Accordingly, Wright discloses that in order to insure the stopping accuracy of the stepper motor, the resolution of micro-steps (i.e., the rate of micro-stepping) as the motor's current position approaches the desired position must be increased. However, while reducing the overhead associated with generating pulses for microstepping the stepper motor by utilizing a look up table, Wright et al. limits the accuracy of the stepper motor to the values stored in the look up table. Thus, the control system proposed by Wright et al. cannot account for various degrees of microstepping that may be required for precision control of the stepper motor. Accordingly, when the look up table does not provide sufficient accuracy, the stepper motor utilizing the Wright et al microstepping method will suffer same problem as a stepper motor which is not microstepped i.e., the characteristic resonance generated by overshot and recovery due to step size and positional velocity.